home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 November / PCWorld_2006-11_cd.bin / domacnost a kancelar / findgraph / fgraph.exe / {app} / TestVC / RectItem.h < prev    next >
C/C++ Source or Header  |  2002-08-09  |  3KB  |  92 lines

  1. // RectItem.h : interface of the CRectItem class
  2. //
  3.  
  4. #if !defined(AFX_RECTITEM_H__51F9B1F0_CAEF_11D4_A5D3_444553540000__INCLUDED_)
  5. #define AFX_RECTITEM_H__51F9B1F0_CAEF_11D4_A5D3_444553540000__INCLUDED_
  6.  
  7. #if _MSC_VER > 1000
  8. #pragma once
  9. #endif // _MSC_VER > 1000
  10.  
  11. class CMainDoc;
  12. class CMainView;
  13.  
  14. class CRectItem : public COleClientItem
  15. {
  16.     DECLARE_SERIAL(CRectItem)
  17.  
  18. // Constructors
  19. public:
  20.     CRectItem();
  21.     CRectItem(COleDocument* pContainer);
  22.     CRectItem(COleDocument* pContainer, int x, int y);
  23.         // Note: pContainer is allowed to be NULL to enable IMPLEMENT_SERIALIZE.
  24.         //  IMPLEMENT_SERIALIZE requires the class have a constructor with
  25.         //  zero arguments.  Normally, OLE items are constructed with a
  26.         //  non-NULL document pointer.
  27.     ~CRectItem();
  28.  
  29. // Attributes
  30. public:
  31.     CPoint m_ptPos;             //position in document
  32.     CSize GetSize();            //current size
  33.     void SetSize(CSize size);
  34.     CSize GetBaseSize();        //base size
  35.     void SetBaseSize(CSize size);
  36.     CRect GetRect()             //current rect
  37.         { return CRect(m_ptPos, GetSize()); }
  38.     void SetRect(CRect& rect);
  39.  
  40.     CMainDoc* GetDocument()
  41.         { return (CMainDoc*)COleClientItem::GetDocument(); }
  42.     CMainView* GetActiveView()
  43.         { return (CMainView*)COleClientItem::GetActiveView(); }
  44.  
  45. // Operations
  46.     void Dirty()
  47.         { GetDocument()->SetModifiedFlag(); }
  48.     void Invalidate(CView* pNotThisView = NULL);
  49.     BOOL UpdateExtent();
  50.     void Move(CRect &rc);
  51.     void ResetSize();
  52.     void GetNativeClipboardData(COleDataSource *pDataSource);
  53.  
  54.     LPDISPATCH GetIDispatch();
  55.  
  56.     virtual void Serialize(CArchive& ar); // from CObject - public to call directly
  57.  
  58.  
  59. // Overridables
  60. protected:
  61.     virtual void OnChange(OLE_NOTIFICATION wNotification, DWORD dwParam);
  62.     virtual BOOL OnChangeItemPosition(const CRect& rectPos);
  63.     virtual void OnActivate();
  64.     virtual COleDataSource* OnGetClipboardData(BOOL bIncludeLink,
  65.         LPPOINT lpOffset, LPSIZE lpSize);
  66.     virtual void OnDeactivateUI(BOOL bUndoable);
  67.  
  68. public:
  69.     virtual void OnGetItemPosition(CRect& rPosition);
  70.  
  71. // Implementation
  72. public:
  73.  
  74. #ifdef _DEBUG
  75.     virtual void AssertValid() const;
  76.     virtual void Dump(CDumpContext& dc) const;
  77. #endif
  78.  
  79. protected:
  80.     CSize m_sizeIcon;           //current size
  81.     CSize m_sizeContent;        //current size
  82.     CSize m_sizeIconExtent;     //default size
  83.     CSize m_sizeContentExtent;  //default size
  84. };
  85.  
  86. /////////////////////////////////////////////////////////////////////////////
  87.  
  88. //{{AFX_INSERT_LOCATION}}
  89. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  90.  
  91. #endif // !defined(AFX_RECTITEM_H__51F9B1F0_CAEF_11D4_A5D3_444553540000__INCLUDED_)
  92.